package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.SysTenant;
import com.ruoyi.system.domain.SysTenantExcel;
import com.ruoyi.system.domain.SysTenantHigher;
import com.ruoyi.system.domain.SysUnit;

/**
 * 合同Mapper接口
 * 
 * @author ruoyi
 * @date 2020-06-28
 */
public interface SysTenantMapper 
{
    /**
     * 查询合同
     * 
     * @param tenantId 合同ID
     * @return 合同
     */
    public SysTenant selectSysTenantById(Long tenantId);

    /**
     * 查询面积总和(个人或者企业)
     *
     */
    public SysTenant selectSysTenantOtherArea();

    /**
     * 查询面积总和(宿舍)
     *
     */
    public SysTenant selectSysTenantAccommodationArea();

    /**
     * 查询合同涨租列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenant> selectSysTenantHigherList(SysTenant sysTenant);

    /**
     * 待收租定时任务（个人/企业）
     *
     * @param sysTenant
     */
    public List<SysTenant> selectSysBacklogTaskList(SysTenant sysTenant);

    /**
     * 查询合同导出列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenantExcel> selectSysTenantExcelList(SysTenant sysTenant);

    /**
     * 查询离租合同导出列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenantExcel> selectSysTenantLeaveExcelList(SysTenant sysTenant);

    /**
     * 查询合同导出合计
     *
     * @param sysTenant 合同ID
     * @return 合同
     */
    public SysTenantExcel selectSysTenantExcelSum(SysTenant sysTenant);

    /**
     * 查询合同涨租明细列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenantHigher> selectSysTenantHigherExcelList(SysTenant sysTenant);

    /**
     * 查询合同
     *
     * @param tenantIds 合同ID
     * @return 合同
     */
    public List<SysTenant> selectSysTenantByIds(String[] tenantIds);

    /**
     * 查询合同
     *
     * @param tenantId 合同ID
     * @return 合同
     */
    public SysTenant selectSysTenantBacklogByIds(String[] tenantId);

    /**
     * 根据单元Id查询合同
     *
     * @param unitIdStr 合同ID
     * @return 合同
     */
    public List<SysTenant> selectSysTenantByUnitId(String unitIdStr);

    /**
     * 根据楼栋Id查询合同
     *
     * @param buildingId 合同ID
     * @return 合同
     */
    public List<SysTenant> selectSysTenantByBuildingId(Long buildingId);

    /**
     * 查询合同列表
     * 
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenant> selectSysTenantList(SysTenant sysTenant);

    /**
     * 新增合同
     * 
     * @param sysTenant 合同
     * @return 结果
     */
    public int insertSysTenant(SysTenant sysTenant);

    /**
     * 修改合同
     * 
     * @param sysTenant 合同
     * @return 结果
     */
    public int updateSysTenant(SysTenant sysTenant);

    /**
     * 定时任务接口-修改涨租状态
     *
     * @param sysTenant 合同
     * @return 结果
     */
    public int updateSysTenantRisePriceStatus(SysTenant sysTenant);

    /**
     * 删除合同
     * 
     * @param tenantId 合同ID
     * @return 结果
     */
    public int deleteSysTenantById(Long tenantId);

    /**
     * 批量删除合同
     * 
     * @param tenantIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysTenantByIds(String[] tenantIds);
}
